﻿// //  ********************************************************************************
// //  Copyright (C) 2016 Sebastian Kenter. All rights reserved.
// // 
// //  Name    : PhotonServerProject | PhotonServerFramework | IPeerConfiguration.cs
// //  Created : 2016 - 03 - 21 09:56
// //  Modified: 2016 - 04 - 18 09:38
// //  ********************************************************************************

namespace PhotonServerFramework.Interfaces.Configuration
{
    /// <summary>
    ///     Interface for a peer configuration (client and server)
    /// </summary>
    public interface IPeerConfiguration
    {
        /// <summary>
        ///     Adds a configuration object to the object list
        /// </summary>
        /// <param name="configurationObject">The object to add</param>
        void AddConfiguration(object configurationObject);

        /// <summary>
        ///     Gets a configuration object of type T form the object list
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <returns>Object of type T if found, otherwise null</returns>
        T GetConfiguration<T>() where T : class;
    }
}
